package cn.tedu.spring.bean;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

/**
 * 对象类型的依赖注入;
 * 需求：在UserService类注入UserDao的对象;
 */
@Service
public class UserService {
    /*
        Autowired:
        1.自动装配，注入对象或者接口类型的数据;
        2.支持3种注入方式：
            2.1 属性注入：添加在属性上;
            2.2 set方法注入：添加在set方法上;
            2.3 构造方法注入：添加在构造方法上;
     */
    @Value("注册业务")
    private String name;

    //@Autowired 属性注入
    private UserDao userDao;

    @Override
    public String toString() {
        return "UserService{" +
                "name='" + name + '\'' +
                ", userDao=" + userDao +
                '}';
    }
    //@Autowired set方法注入
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    //@Autowired  构造方法注入
    public UserService(UserDao userDao){
        this.userDao = userDao;
    }
}
